﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum КатегорииЗапасаВоеннообязанных
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"7c325e71-0596-47cc-83e2-6aa47ec0ac8f\", \"Представление\":\"До45лет\"}")]
		До45лет = 0,//1 - до 45 лет
		[EnumMember(Value = "{\"Ссылка\":\"da06cae5-2a8d-4c8c-9d28-5bf7aeeb5ef3\", \"Представление\":\"До50лет\"}")]
		До50лет = 1,//2 - до 50 лет
		[EnumMember(Value = "{\"Ссылка\":\"ff9313b9-f882-45ed-bec3-7339af496342\", \"Представление\":\"До55лет\"}")]
		До55лет = 2,//3 - до 55 лет
	}
	public static partial class КатегорииЗапасаВоеннообязанных_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid До45лет = new Guid("a46ae283-c07e-8fac-47cc-05967c325e71");//1 - до 45 лет
		public static readonly Guid До50лет = new Guid("f75b289d-ebae-f35e-4c8c-2a8dda06cae5");//2 - до 50 лет
		public static readonly Guid До55лет = new Guid("3973c3be-49af-4263-45ed-f882ff9313b9");//3 - до 55 лет
		public static КатегорииЗапасаВоеннообязанных Получить(this КатегорииЗапасаВоеннообязанных Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static КатегорииЗапасаВоеннообязанных Получить(this КатегорииЗапасаВоеннообязанных Значение, Guid Ссылка)
		{
			if(Ссылка == До45лет)
			{
				return КатегорииЗапасаВоеннообязанных.До45лет;
			}
			else if(Ссылка == До50лет)
			{
				return КатегорииЗапасаВоеннообязанных.До50лет;
			}
			else if(Ссылка == До55лет)
			{
				return КатегорииЗапасаВоеннообязанных.До55лет;
			}
			return КатегорииЗапасаВоеннообязанных.ПустаяСсылка;
		}
		public static byte[] Ключ(this КатегорииЗапасаВоеннообязанных Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this КатегорииЗапасаВоеннообязанных Значение)
		{
			switch (Значение)
			{
				case КатегорииЗапасаВоеннообязанных.До45лет: return До45лет;
				case КатегорииЗапасаВоеннообязанных.До50лет: return До50лет;
				case КатегорииЗапасаВоеннообязанных.До55лет: return До55лет;
			}
			return Guid.Empty;
		}
	}
}